Parallel execution for conflicting transactions

نویسنده

  • Neha Narula
چکیده

Multicore main-memory databases only obtain parallel performance when transactions do not conflict. Conflicting transactions are executed one at a time in order to ensure that they have serializable effects. Sequential execution on contended data leaves cores idle and reduces throughput. In other parallel programming contexts—not serializable transactions— techniques have been developed that can reduce contention on shared variables using percore state. This thesis asks the question, can these techniques apply to a general serializable database? This work introduces a new concurrency control technique, phase reconciliation, that uses per-core state to greatly reduce contention on popular database records for many important workloads. Phase reconciliation uses the idea of synchronized phases to amortize the cost of combining per-core data and to extract parallelism. Doppel, our phase reconciliation database, repeatedly cycles through joined and split phases. Joined phases use traditional concurrency control and allow any transaction to execute. When workload contention causes unnecessary sequential execution, Doppel switches to a split phase. During a split phase, commutative operations on popular records act on per-core state, and thus proceed in parallel on different cores. By explicitly using phases, phase reconciliation realizes two important performance benefits: First, it amortizes the potentially high costs of aggregating per-core state over many transactions. Second, it can dynamically split data or not based on observed contention, handling challenging, varying workloads. Doppel achieves higher performance because it parallelizes transactions on popular data that would be run sequentially by conventional concurrency control. Phase reconciliation helps most when there are many updates to a few popular database records. On an 80-core machine, its throughput is up to 38× higher than conventional concurrency control protocols on microbenchmarks, and up to 3× on a larger application, at the cost of increased latency for some transactions. Thesis Supervisor: Robert T. Morris Title: Professor Thesis Supervisor: Eddie Kohler Title: Associate Professor, Harvard University

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Non-preemptive Scheduling of Real-Time Software Transactional Memory

Recent embedded processor architectures containing multiple heterogeneous cores and non-coherent caches, bring renewed attention to the use of Software Transactional Memory (STM) as a building block for developing parallel applications. STM promises to ease concurrent and parallel software development, but relies on the possibility of abort conflicting transactions to maintain data consistency,...

متن کامل

A Highly Concurrent Transaction Management Model

We describe a methodology for transforming sets of database transactions into sets of conflict-free transactions which can be executed independently and in parallel. The method identifies conflicting tuples and uses buffers in high-speed memory to hold those tuples. The separate transactions are then modified to operate on both the database and the relevant buffers.

متن کامل

Exploiting Semantics and Speculation for Improving the Performance of Read-only Transactions

A read-only transaction (ROT) does not modify any data. Efforts are being made in the literature to improve the performance of ROTs without correctness and data currency issues. The widely used twophase locking protocol (2PL) processes the transactions without any correctness and data currency issues. However, the performance of 2PL deteriorates with data contention. Snapshot isolation (SI)-bas...

متن کامل

A Parallel Execution Model for Database Transactions

This paper explains our approach for optimizing the execution of object-oriented database transactions. We provide for parallel execution of methods inside atomic transactions. Our approach enhances parallel method execution without userdefined control structures. Optimization is based on method compatibility which is automatically determined during the method compilation phase. Optimized execu...

متن کامل

Inevitability Mechanisms for Software Transactional Memory

Transactional Memory simplifies parallel programming by eliminating the use of locks to protect concurrent accesses to shared memory. However, when locks are used to provide mutual exclusion for irreversible operations (I/O, syscalls, calls to “black box” libraries), their replacement with transactions seems problematic: transactions can abort and restart at any arbitrary point in their executi...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2015